package bash

import (
	"strings"
	"time"
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/logs"
	_"github.com/astaxie/beego/orm"
)

// // 设置使用数据表类型
// func UseType(o orm.Ormer, types ...string) orm.Ormer {
// 	if len(types) <= 0 {
// 		types = append(types, "read")
// 	}
// 	err := o.Using(types[0])
// 	if err != nil {
// 		o.Using("default")
// 	}
// 	return o
// }

const (
	// 程序版本
	// 第一位为主版本号，对应SYSTEM_VERSION_CODE中的第一位
	// 第二位为子版本号，对应SYSTEM_VERSION_CODE中的第二三位
	// 第三位为修订版本号，对应SYSTEM_VERSION_CODE中的第四五位
	SYSTEM_VERSION = "1.0.0"
	// 程序的内部版本号，用于检测升级
	// 第一位代表主版本号，第二三位代表子版本号，第四五位代表修订版本号
	// 是否是发行版使用第二三位的子版本号做区分，能被2整除的代表正式版，不能被2整除的代表测试版
	SYSTEM_VERSION_CODE = 10000
	// 一天的时间（24小时）
	TimeDay = time.Hour * 24
	// 一周的时间（7天）
	TimeWeek = TimeDay * 7
	// 一月的时间（30天）
	TimeMonth = TimeDay * 30
	// 一年的时间（12月，360天）
	TimeYear = TimeMonth * 12
	// 当前是否是测试阶段
	DEBUG = true
)

func init() {
	logs.Info("当前程序版本：v" + SYSTEM_VERSION)
	logs.Info("开始执行程序初始化")
	conf_logs()
	logs.Info("程序初始化完成")
}

// 配置日志存储信息
func conf_logs() {
	if beego.AppConfig.String("application::log_status") == "On" {
		// 判断开启日志存储到文件功能
		config_set := beego.AppConfig.String("application::log_set")
		for _, v := range strings.Split(config_set, "|") {
			beego.SetLogger(v, beego.AppConfig.String("application::log_"+v))
		}
		config_del := beego.AppConfig.String("application::log_del")
		for _, v := range strings.Split(config_del, "|") {
			beego.BeeLogger.DelLogger(v)
		}
	}
}
